home *** CD-ROM | disk | FTP | other *** search
/ Experimental BBS Explossion 3 / Experimental BBS Explossion III.iso / c / bc_pas_2.zip / COMMON.INC < prev    next >
Text File  |  1992-09-04  |  20KB  |  539 lines

  1. ;$Author:   DCODY  $
  2. ;$Date:   04 Sep 1992 16:40:48  $
  3. ;$Header:   X:/sccs/inc/common.inv   1.2   04 Sep 1992 16:40:48   DCODY  $
  4. ;$Log:   X:/sccs/inc/common.inv  $
  5. ;
  6. ;   Rev 1.2   04 Sep 1992 16:40:48   DCODY
  7. ;
  8. ;   Rev 1.1   25 Jun 1992 23:23:26   DCODY
  9. ;PAS2 update
  10. ;
  11. ;   Rev 1.0   15 Jun 1992 09:58:38   BCRANE
  12. ;Initial revision.
  13. ;$Logfile:   X:/sccs/inc/common.inv  $
  14. ;$Modtimes$
  15. ;$Revision:   1.2  $
  16. ;$Workfile:   common.inc  $ 
  17.  
  18. ;   /*\
  19. ;---|*|----====< COMMON.INC >====----
  20. ;---|*|
  21. ;---|*| This file contains the Media Vision hardware definition equates, and.
  22. ;---|*| the PC hardware environment.
  23. ;---|*|
  24. ;---|*| Copyright (c) 1991,1992 Media Vision, Inc.  All Rights Reserved.
  25. ;---|*|
  26. ;   \*/
  27.  
  28. ; Hardware associated with the PAS1/PAS2/CDPC
  29.  
  30. DEFAULT_BASE    EQU    00388h        ;; default base I/O address
  31. ALT_BASE_1    EQU    00384h        ;; first alternate address
  32. ALT_BASE_2    EQU    0038Ch        ;; second alternate address
  33. ALT_BASE_3    EQU    00288h        ;; third alternate address
  34. USE_ACTIVE_ADDR EQU    00000h        ;; uses what is currently active
  35.  
  36. DUALFM          EQU     1               ;; Dual FM chips
  37. DUALMIXER    EQU    1        ;; Dual mixers
  38. FILTER        EQU    1        ;; Has filter after input mixer
  39. VOLUME        EQU    1        ;; Has total volume control
  40.  
  41. TEXTVERSIONHI    EQU    '01'            ;; VERSION 01.00
  42. TEXTVERSIONLO    EQU    '00'
  43.  
  44. SYSSPKRTMR    EQU    00042h        ;; System Speaker Timer Address
  45. SYSTMRCTLR    EQU    00043h        ;; System Timer Control Register
  46. SYSSPKRREG    EQU    00061h        ;; System Speaker Register
  47. JOYSTICK    EQU    00201h        ;; Joystick Register
  48. LFMADDR     EQU    00388h        ;; Left  FM Synthesizer Address Register
  49. LFMDATA     EQU    00389h        ;; Left  FM Synthesizer Data Register
  50. RFMADDR     EQU    0038Ah        ;; Right FM Synthesizer Address Register
  51. RFMDATA     EQU    0038Bh        ;; Right FM Synthesizer Data Register
  52.  
  53. AUXADDR     EQU    00788h        ;; Auxiliary Register
  54. AUXDATA     EQU    00789h        ;; Auxiliary Register
  55. DFMADDR     EQU    00788h        ;; Dual  FM Synthesizer Address Register
  56. DFMDATA     EQU    00789h        ;; Dual  FM Synthesizer Data Register
  57.  
  58. pAUDIOMIXR      EQU     0078Bh          ;; Parallel interface Audio Mixer Reg
  59. AUDIOMIXR       EQU     00B88h          ;; Audio Mixer Control Register
  60. AUDIOFILT    EQU    00B8Ah        ;; Audio Filter Control Register
  61. INTRCTLRST    EQU    00B89h        ;; Interrupt Control Status Register
  62. INTRCTLR    EQU    00B8Bh        ;; Interrupt Control Register write
  63. INTRCTLRRB    EQU    00B8Bh        ;; Interrupt Control Register read back
  64. PCMDATA     EQU    00F88h        ;; PCM data I/O register (low byte)
  65. PCMDATAH    EQU    00F89h        ;; PCM data I/O register (high byte)
  66. CROSSCHANNEL    EQU    00F8Ah        ;; Cross Channel Register
  67. SAMPLERATE    EQU    01388h        ;; (t0) Sample Rate Timer Register
  68. SAMPLECNT    EQU    01389h        ;; (t1) Sample Count Register
  69. SPKRTMR     EQU    0138Ah        ;; (t2) Local Speaker Timer Address
  70. TMRCTLR     EQU    0138Bh        ;; Local Timer Control Register
  71. MDIRQVECT    EQU    01788H        ;; MIDI-0 IRQ Vector Register
  72. MDSYSCTLR    EQU    01789H        ;; MIDI-1 System Control Register
  73. MDSYSSTAT    EQU    0178AH        ;; MIDI-2 IRQ Status Register
  74. MDIRQCLR    EQU    0178BH        ;; MIDI-3 IRQ Clear Register
  75. MDGROUP4    EQU    01B88H        ;; MIDI-4 Group #1 Register (MDGROUP1)
  76. MDGROUP5    EQU    01B89H        ;; MIDI-5 Group #2 Register (MDGROUP2)
  77. MDGROUP6    EQU    01B8AH        ;; MIDI-6 Group #3 Register (MDGROUP3)
  78. MDGROUP7    EQU    01B8BH        ;; MIDI-7 Group #4 Register (MDGROUP4)
  79.  
  80. ;
  81. ; Factory Default Settings
  82. ;
  83. DEFAULTDMA    equ    1        ;; DMA channel 1
  84. DEFAULTIRQ    equ    7        ;; IRQ channel 7
  85. DEFAULTINT    equ    65h        ;; Interrupt # for software interface
  86.  
  87. ;
  88. ; mixer select
  89. ;
  90. OUTPUTMIXER    equ    00h        ;; output mixer H/W select
  91. INPUTMIXER    equ    40h        ;; input mixer select
  92. DEFMIXER    equ    -1        ;; use last mixer selected
  93. MIXERMAX    equ    1fh        ;; maximum mixer setting
  94.  
  95. MVVOLUMEMAX    equ    3fh        ;; MVA508 maximum mixer setting
  96. NSVOLUMEMAX    equ    28h        ;; National maximum mixer setting
  97.  
  98. EQUALIZERMAX    equ     0ch             ;; maximum equalizer setting
  99. EQUALIZERMID    equ    06h        ;; maximum mid setting
  100.  
  101. ;
  102. ;    Filter register bits
  103. ;
  104. fFIdatabits    equ    00011111B    ;; filter select and decode field bits
  105. fFImutebits    equ    00100000B    ;; filter mute field bits
  106. fFIpcmbits    equ    11000000B    ;; filter sample rate field bits
  107. bFImute     equ    00100000B    ;; filter mute bit
  108. bFIsrate    equ    01000000B    ;; filter sample rate timer mask
  109. bFIsbuff    equ    10000000B    ;; filter sample buffer counter mask
  110. FILTERMAX    equ    6        ;; six possible settings
  111.  
  112. ;
  113. ;    Cross Channel Bit definitions
  114. ;
  115. fCCcrossbits    EQU    00001111B    ;; cross channel bit field
  116. fCCpcmbits    EQU    11110000B    ;; pcm/dma control bit field
  117. bCCr2r        EQU    00000001B    ;; CROSSCHANNEL Right to Right
  118. bCCl2r        EQU    00000010B    ;; CROSSCHANNEL Left  to Right
  119. bCCr2l        EQU    00000100B    ;; CROSSCHANNEL Right to Right
  120. bCCl2l        EQU    00001000B    ;; CROSSCHANNEL Left  to Left
  121. bCCdac        EQU    00010000B    ;; DAC/ADC Control
  122. bCCmono     EQU    00100000B    ;; PCM Monaural Enable
  123. bCCenapcm    EQU    01000000B    ;; Enable PCM state machine
  124. bCCdrq        EQU    10000000B    ;; Enable DRQ bit
  125.  
  126. ;
  127. ;    Interrupt Control Register Bits
  128. ;
  129. fICintmaskbits    EQU    00011111B    ;; interrupt mask field bits
  130. fICrevbits    EQU    11100000B    ;; revision mask field bits
  131. fICidbits    EQU    11100000B    ;; Board revision ID field bits
  132. bICleftfm    EQU    00000001B    ;; Left FM interrupt enable
  133. bICritfm    EQU    00000010B    ;; Right FM interrupt enable
  134. bICsamprate    EQU    00000100B    ;; Sample Rate timer interrupt enable
  135. bICsampbuff    EQU    00001000B    ;; Sample buffer timer interrupt enable
  136. bICmidi     EQU    00010000B    ;; MIDI interrupt enable
  137.    fICrevshr    EQU    5        ;; rotate rev bits to lsb
  138.  
  139. ;
  140. ;    Interrupt Status Register Bits
  141. ;
  142. fISints     EQU    00011111B    ;; Interrupt bit field
  143. bISleftfm       EQU     00000001B       ;; Left FM interrupt active
  144. bISritfm    EQU    00000010B    ;; Right FM interrupt active
  145. bISsamprate    EQU    00000100B    ;; Sample Rate timer interrupt active
  146. bISsampbuff    EQU    00001000B    ;; Sample buffer timer interrupt active
  147. bISmidi     EQU    00010000B    ;; MIDI interrupt active
  148. bISPCMlr        EQU     00100000B       ;; PCM left/right active
  149. bISActive    EQU    01000000B    ;; Hardware is active (not in reset)
  150. bISClip     EQU    10000000B    ;; Sample Clipping has occured
  151.  
  152. ;
  153. ;       cross channel channel #s
  154. ;
  155. RIGHT2RIGHT    equ    00h        ;; right to right
  156. LEFT2RIGHT    equ    01h        ;; left  to right
  157. RIGHT2LEFT    equ    02h        ;; right to left
  158. LEFT2LEFT    equ    03h        ;; left  to left
  159.  
  160. ;
  161. ; left/right mixer channel selection
  162. ;
  163.  
  164. ;    left channel values
  165.  
  166. L_FM        equ    01h
  167. L_IMIXER    equ    02h
  168. L_EXT        equ    03h
  169. L_INT        equ    04h
  170. L_MIC        equ    05h
  171. L_PCM        equ    06h
  172. L_SPEAKER    equ    07h
  173. L_FREE        equ    00h
  174. L_SBDAC     equ    00h
  175.  
  176. ;    right channel values
  177.  
  178. R_FM        equ    08h
  179. R_IMIXER    equ    09h
  180. R_EXT        equ    0Ah
  181. R_INT        equ    0Bh
  182. R_MIC        equ    0Ch
  183. R_PCM        equ    0Dh
  184. R_SPEAKER    equ    0Eh
  185. R_FREE        equ    0Fh
  186. R_SBDAC     equ    0Fh
  187.  
  188. ;    Mixer register bits
  189.  
  190. fMImixerbits    EQU     00010111B       ;; mixer control bit fields
  191. fMIspkrbits    EQU    01000000B    ;; speaker integrator field bits
  192. bMIdata     EQU    00000001B    ;; data bit
  193. bMIclock    EQU    00000010B    ;; clock strobe
  194. bMImistrb    EQU    00000100B    ;; mixer output strobe
  195. bMIna1        EQU    00001000B    ;; not used
  196. bMIvol        EQU    00010000B    ;; total volume enabled
  197. bMIna2        EQU    00100000B    ;; not used
  198. bMIspkrint    EQU    01000000B    ;; speaker integrator
  199. bMImonofm    EQU    10000000B    ;; make both FMs mono
  200.  
  201. bMIfmreset    EQU    bMIdata     ;; OPL3 FM chip reset
  202. bMIdacreset    EQU    bMIclock    ;; CODEC reset
  203. bMIsbreset    EQU    bMImistrb    ;; SB microprocessor reset
  204. bMI508reset    EQU    bMIvol        ;; MVA508 reset
  205.  
  206. ;    volume control channel #s
  207.  
  208. VOLMUTE     equ    40h        ;; MUTE button
  209. VOLLOUDENH    equ    41h        ;; LOUDNESS and ENHANCED STEREO switch
  210. VOLBASS     equ    42h        ;; BASS level setting
  211. VOLTREBLE    equ    43h        ;; TREBLE level setting
  212. VOLLEFT     equ    44h        ;; MASTER LEFT LEVEL settting
  213. VOLRIGHT    equ    45h        ;; MASTER RIGHT LEVEL settting
  214. VOLMODE     equ    46h        ;; Model Select Left/Stereo/Right
  215.  
  216. bVOLEbass    equ    0001b        ;; enhanced bass bit
  217. bVOLEstereo    equ    0010b        ;; enhanced stereo bit
  218.  
  219. ;    output control
  220.  
  221. pmADDRSELECT    equ    80h        ;; Parallel mixer addr select
  222. pmDATASELECT    equ    00h        ;; Parallel mixer data select
  223.  
  224. ;    mixer channel programming selection
  225.  
  226. pmCHANNELLR    equ    00h        ;; Left/Right channel select
  227. pmCHANNELL    equ    20h        ;; Left  channel only select
  228. pmCHANNELR    equ    40h        ;; Right channel only select
  229.  
  230. ;    device select
  231.  
  232. pmMIXERSELECT    equ    10h        ;; Parallel Mixer device select
  233. pmVOLUMESELECT    equ    00h        ;; Parallel Volume device select
  234.  
  235. ;    Volume Device selects
  236.  
  237. pmVOLUMEA    equ    01h        ;; Left/Right channel select
  238. pmVOLUMEB    equ    02h        ;; Left/Right channel select
  239. pmVOLUMEBASS    equ    03h        ;; Left/Right channel select
  240. pmVOLUMETREB    equ    04h        ;; Left/Right channel select
  241. pmVOLUMEMODE    equ    05h        ;; Left/Right channel select
  242.  
  243. ;    mixer selection
  244.  
  245. pmOUTPUTMIXER    equ    00h        ;; Mixer-A selection
  246. pmINPUTMIXER    equ    20h        ;; Mixer-B selection
  247.  
  248. ;    mixer channel swap
  249.  
  250. pmCHSWAP    equ    40h        ;; Mixer channel reroute
  251.                     ;;
  252. ;    int 2F application ID codes
  253.  
  254. INT2FCODE1    equ    0BCH        ;; Bryan's initials
  255.  
  256. ;    int 2F ID (func 0) return register values
  257.  
  258. INT2FREGBX    equ    6D00h        ;; 'm '
  259. INT2FREGCX    equ    0076h        ;; ' v'
  260. INT2FREGDX    equ    2020h        ;; UPPERCASE XOR MASK
  261.  
  262. ; hardware specific equates for the MV101 (digital ASIC)
  263.  
  264. MASTERADDRP    equ    09a01h        ;; Master Address Pointer    (w)
  265. MIDIPRESCALE    equ    01788h        ;; MIDI prescale         (r/w)
  266. MIDITIMER    equ    01789h        ;; MIDI Timer             (r/w)
  267. MIDIDATA    equ    0178ah        ;; MIDI Data             (r/w)
  268. MIDICONTROL    equ    0178bh        ;; MIDI Control          (r/w)
  269. MIDISTATUS    equ    01b88h        ;; MIDI Status             (r/w)
  270. MIDIFIFOS    equ    01b89h        ;; MIDI Fifo Status         (r/w)
  271. MIDICOMPARE    equ    01b8ah        ;; MIDI Compare Time         (r/w)
  272. MIDITEST    equ    01b8bh        ;; MIDI Test             (w)
  273. MASTERCHIPR    equ    0ff88h        ;; Master Chip Rev         (r)
  274. SLAVECHIPR    equ    0ef88h        ;; Slave Chip Rev         (r)
  275. ENHANCEDSCSI    equ    07f89h        ;; Enhanced SCSI detect port
  276. SYSCONFIG1      equ     08388h          ;; System Config 1           (r/w)
  277. SYSCONFIG2    equ    08389h        ;; System Config 2         (r/w)
  278. SYSCONFIG3    equ    0838ah        ;; System Config 3         (r/w)
  279. SYSCONFIG4    equ    0838bh        ;; System Config 4         (r/w)
  280. IOCONFIG1    equ    0f388h        ;; I/O Config 1          (r/w)
  281. IOCONFIG2    equ    0f389h        ;; I/O Config 2          (r/w)
  282. IOCONFIG3    equ    0f38ah        ;; I/O Config 3          (r/w)
  283. IOCONFIG4    equ    0f38bh        ;; I/O Config 4          (r/w)
  284. COMPATREGE    equ    0f788h        ;; Compatible Rgister Enable (r/w)
  285. EMULADDRP    equ    0f789h        ;; Emulation Address Pointer (r/w)
  286. WAITSTATE    equ    0bf88h        ;; Wait State             (r/w)
  287. PUSHBUTTON    equ    0e388h        ;; Push Button (slave)         (???)
  288. AUXINTSTAT    equ    0e38ah        ;; Aux Int Status         (???)
  289. AUXINTENA    equ    0e38bh        ;; Aux Int Enable         (???)
  290. OVRSMPPRE    equ    0bf8ah        ;; Over Sample Prescale      (r/w)
  291. ANALSERD    equ    0bf89h        ;; Analog Chip Serial Data   (w)
  292. MASTERMODRD    equ    0ff8bh        ;; Master Mode Read         (r)
  293. SLAVEMODRD    equ    0ef8bh        ;; Slave Mode Read         (r)
  294. INTWATCHDOG    equ    0fb8bh        ;; Interrupt Watch Dog         (???)
  295. MASTERuPDATA    equ    0fb88h        ;; Master uP Data         (???)
  296. MASTERuPCMD    equ    0fb89h        ;; Master uP Command/Status  (???)
  297. MASTERuPRST    equ    0fb8ah        ;; Master uP Restart         (???)
  298. SLAVEuPDATA    equ    0eb88h        ;; Slave uP Data         (???)
  299. SLAVEuPCMD    equ    0eb88h        ;; Slave uP Command/Status   (???)
  300. SLAVEuPRST    equ    0eb88h        ;; Slave uP Restart         (???)
  301. CDTOCOUNTER    equ    04388h        ;; CD-ROM timeout counter    (r/w)
  302. CDTOSTAT    equ    04389h        ;; CD-ROM timeout status     (r/w)
  303. LEFTVURD    equ    02388h        ;; Left VU Read          (r)
  304. RITVURD     equ    02389h        ;; Right VU Read         (r)
  305.  
  306. SBRST        equ    00206h        ;; SB Reset             (w)
  307. SBDATA        equ    0020Ah        ;; SB Data Read          (r)
  308. SBCMD        equ    0020Ch        ;; SB CMD Write/Status Read  (r/w)
  309. SBSTAT        equ    0020Eh        ;; SB Data Status         (r)
  310. MPUDATA     equ    00300h        ;; MPU-401 data reg         (r/w)
  311. MPUCMD        equ    00301h        ;; MPU-401 command reg         (r/w)
  312.  
  313. ; Sys Config 1
  314.  
  315. bSC1timena      equ     00000001b       ;; shadow enable
  316. bSC1pcmemu    equ    00000010b    ;; PCM Emulation of PAS1
  317. bSC128mhz    equ    00000100b    ;; 28mhz clock divisor
  318. bSC1invcom    equ    00001000b    ;; invert COM port interrupt input
  319. bSC1stspea    equ    00010000b    ;; stereoize pc speaker
  320. bSC1realsnd    equ    00100000b    ;; smart real sound emulatio
  321. bSC1d6        equ    01000000b    ;;
  322. bSC1mstrst    equ    10000000b    ;; master chip reset
  323.  
  324. ; Sys Config 2
  325.  
  326. bSC2ovrsmp      equ     00000011b       ;; oversampling 0,1,2,4
  327. bSC216bit    equ    00000100b    ;; 16 bit audio
  328. bSC212bit    equ    00001000b    ;; 12 bit interleaving (d2 must be set too)
  329. bSC2msbinv    equ    00010000b    ;; invert MSB from standard method
  330. bSC2slavport    equ    01100000b    ;; slave port bits
  331. bSC2vcolock    equ    10000000b    ;; VCO locked (Sample Rate Clock Valid)
  332.  
  333. ; Sys Config 3
  334.  
  335. bSC328mhzfil    equ     00000001b       ;; PCM Rate uses 28mhz
  336. bSC31mhzsb    equ    00000010b    ;; 1mhz timer for SB sample rate
  337. bSC3vcoinv    equ    00000100b    ;; invert VCO output
  338. bSC3bclkinv    equ    00001000b    ;; invert BCLK form 16 bit DAC
  339. bSC3lrsync    equ    00010000b    ;; 0=L/R, 1 = Sync Pulse
  340. bSC3d5        equ    00100000b    ;;
  341. bSC3d6        equ    01000000b    ;;
  342. bSC3d7        equ    10000000b    ;;
  343.  
  344. ; Sys Config 4
  345.  
  346. bSC4drqahi      equ     00000001b       ;; DRQ from drive active high
  347. bSC4dackahi    equ    00000010b    ;; DRQ from drive active high
  348. bSC4intahi    equ    00000100b    ;; INT from drive active high
  349. bSC4drqvalid    equ    00001000b    ;; DRQ line valid from drive
  350. bSC4comena    equ    00010000b    ;; enable COM interrupt
  351. bSC4enascsi    equ    00100000b    ;; enable SCSI interrupt
  352. bSC4drqptr    equ    11000000b    ;; DRQ timing pointer bits
  353.  
  354. ; I/O Config 1
  355.  
  356. bIC1ps2ena      equ     00000001b       ;; Enable Chip (PS2 only)
  357. bIC1comdcd    equ    00000110b    ;; COM port decode pointer
  358. bIC1comint    equ    00111000b    ;; COM port interrupt pointer
  359. bIC1joyena    equ    01000000b    ;; Enable joystick read
  360. bIC1wporena    equ    10000000b    ;; Enable warm boot reset
  361.  
  362. ; I/O Config 2
  363.  
  364. bIC2dmaptr    equ    00000111b    ;; DMA channel select
  365.  
  366. ;;bIC28dmaptr    equ    00001111b    ;;  8 bit DMA channel select
  367. ;;bIC216dmaptr    equ    11110000b    ;; 16 bit DMA channel select
  368.  
  369. ; I/O Config 3
  370.  
  371. bIC3pcmint      equ     00001111b       ;; pcm IRQ channel select
  372. bIC3cdint    equ    11110000b    ;; cd  IRQ channel select
  373.  
  374. ; Compatibility Register
  375.  
  376. cpMPUEmulation    equ    00000001b    ;; MPU emuation is on bit
  377. cpSBEmulation    equ    00000010b    ;; SB emuation is on bit
  378.  
  379. ; Emulation Address Pointer
  380.  
  381. epSBptr     equ    00001111b    ;; bit field for SB emulation
  382. epMPUptr    equ    11110000b    ;; bit field for MPU emulation
  383.  
  384. ; Slave Mode Read
  385.  
  386. bSMRDdrvtyp     equ     00000011b       ;; drive interface type
  387. bSMRDfmtyp    equ    00000100b    ;; FM chip type
  388. bSMRDdactyp    equ    00001000b    ;; 16 bit dac (1) or 8 bit dac (0)
  389. bSMRDimidi    equ    00010000b    ;; use internal MIDI
  390. bSMRDswrep    equ    10000000b    ;; switch is auto repeating
  391.  
  392. ; Master Mode Read
  393.  
  394. bMMRDatps2      equ     00000001b       ;; AT(1) or PS2(0) bus
  395. bMMRDtmremu    equ    00000010b    ;; timer emulation enabled
  396. bMMRDmsmd    equ    00000100b    ;; master/slave mode
  397. bMMRDslave    equ    00001000b    ;; slave power on or device present
  398. bMMRDattim    equ    00010000b    ;; xt/at timing
  399. bMMRDmstrev    equ    11100000b    ;; master  rev level
  400.  
  401. ; MIDI Control Register
  402.  
  403. bMCRenatstmp    equ    00000001b    ;; MIDI enable time stamp interrupt
  404. bMCRenacmptm    equ    00000010b    ;; MIDI enable compare time interrupt
  405. bMCRenafifoi    equ    00000100b    ;; MIDI enable FIFO input interrupt
  406. bMCRenafifoo    equ    00001000b    ;; MIDI enable FIFO output interrupt
  407. bMCRenafifooh    equ    00010000b    ;; MIDI enable FIFO output half int
  408. bMCRrstfifoi    equ    00100000b    ;; MIDI reset Input FIFO pointer
  409. bMCRrstfifoo    equ    01000000b    ;; MIDI reset Output FIFO pointer
  410. bMCRechoio    equ    10000000b    ;; MIDI echo input to output (THRU)
  411.  
  412. ; MIDI Status Register
  413.  
  414. bMSRtimstamp    equ    00000001b    ;; MIDI time stamp interrupt
  415. bMSRcmptime    equ    00000010b    ;; MIDI compare time interrupt
  416. bMSRififo    equ    00000100b    ;; MIDI input FIFO data avail interrupt
  417. bMSRofifo    equ    00001000b    ;; MIDI output FIFO empty interrupt
  418. bMSRofifohalf    equ    00010000b    ;; MIDI output FIFO half empty interrupt
  419. bMSRififoovr    equ    00100000b    ;; MIDI input FIFO overrun error
  420. bMSRofifoovr    equ    01000000b    ;; MIDI output FIFO overrun error
  421. bMSRframeerr    equ    10000000b    ;; MIDI frame error
  422.  
  423. ; MIDI FIFO count
  424.  
  425. bMFCififo    equ    00001111b    ;; MIDI input FIFO count
  426. bMFCofifo    equ    11110000b    ;; MIDI output FIFO count
  427.  
  428. ; Aux interrupt status/enable
  429.  
  430. bAUfmrit    equ    00000001b    ;; FM right interrupt
  431. bAUpushb    equ    00000010b    ;; push button active
  432. bAUslavecpu    equ    00000100b    ;; slave coprocessor
  433. bAUaux0int    equ    00001000b    ;; aux 0 interrupt
  434. bAUaux1int    equ    00010000b    ;; aux 1 interrupt
  435. bAUaux2int    equ    00100000b    ;; aux 2 interrupt
  436. bAUaux3int    equ    01000000b    ;; aux 3 interrupt
  437. bAUmastrcpu    equ    10000000b    ;; master coprocessor or emulation active
  438.  
  439. ; Push Buttons on the Front Panel
  440.  
  441. bPSHmute    equ    00000001b    ;; mute on the front panel
  442. bPSHdnarrow    equ    00000010b    ;; down arrow on the front panel
  443. bPSHuparrow    equ    00000100b    ;; up arrow on the front panel
  444. bPSauxbit1    equ    00001000b    ;; unused bit...
  445. bPSauxbit2    equ    00010000b    ;; unused bit...
  446. bPSauxbit3    equ    00100000b    ;; unused bit...
  447. bPSauxbit4    equ    01000000b    ;; unused bit...
  448. bPSauxbit5    equ    10000000b    ;; unused bit...
  449.  
  450. ;---------------------------====< PC HARDWARE >====---------------------------
  451.  
  452. ; Interrupt Controller #1 Port Addresses and Interrupt Masks
  453.  
  454. IRQ1MASKREG    EQU    021h        ;; 8259 mask register
  455. IRQ1ACKREG    EQU    020h        ;; 8259 INT acknowledge register
  456.  
  457. INT0MSK     EQU    00000001B    ;; interrupt 0 mask
  458. INT1MSK     EQU    00000010B    ;; interrupt 1 mask
  459. INT2MSK     EQU    00000100B    ;; interrupt 2 mask
  460. INT3MSK     EQU    00001000B    ;; interrupt 3 mask
  461. INT4MSK     EQU    00010000B    ;; interrupt 4 mask
  462. INT5MSK     EQU    00100000B    ;; interrupt 5 mask
  463. INT6MSK     EQU    01000000B    ;; interrupt 6 mask
  464. INT7MSK     EQU    10000000B    ;; interrupt 7 mask
  465.  
  466. ; Interrupt Controller #2 Port Addresses and Interrupt Masks
  467.  
  468. IRQ2MASKREG    EQU    0A1h        ;; 8259 mask register
  469. IRQ2ACKREG    EQU    0A0h        ;; 8259 INT acknowledge register
  470.  
  471. INT8MSK     EQU    00000001B    ;; interrupt 8 mask
  472. INT9MSK     EQU    00000010B    ;; interrupt 9 mask
  473. INTAMSK     EQU    00000100B    ;; interrupt A mask
  474. INTBMSK     EQU    00001000B    ;; interrupt B mask
  475. INTCMSK     EQU    00010000B    ;; interrupt C mask
  476. INTDMSK     EQU    00100000B    ;; interrupt D mask
  477. INTEMSK     EQU    01000000B    ;; interrupt E mask
  478. INTFMSK     EQU    10000000B    ;; interrupt F mask
  479.  
  480. EOI        EQU    020h        ;; non specific end of interrupt
  481.  
  482. ; dma controller #1 port addresses
  483.  
  484. DMAC0ADDR    EQU    000h        ;; DMA channel 0 Base & Current Address
  485. DMAC0COUNT    EQU    001h        ;; DMA channel 0 Base & Current Count
  486. DMAC1ADDR    EQU    002h        ;; DMA channel 1 Base & Current Address
  487. DMAC1COUNT    EQU    003h        ;; DMA channel 1 Base & Current Count
  488. DMAC2ADDR    EQU    004h        ;; DMA channel 2 Base & Current Address
  489. DMAC2COUNT    EQU    005h        ;; DMA channel 2 Base & Current Count
  490. DMAC3ADDR    EQU    006h        ;; DMA channel 3 Base & Current Address
  491. DMAC3COUNT    EQU    007h        ;; DMA channel 3 Base & Current Count
  492.  
  493. DMA2C4ADDR    EQU    0C0h        ;; DMA channel 4 Base & Current Address
  494. DMA2C4COUNT    EQU    0C2h        ;; DMA channel 4 Base & Current Count
  495. DMA2C5ADDR    EQU    0C4h        ;; DMA channel 5 Base & Current Address
  496. DMA2C5COUNT    EQU    0C6h        ;; DMA channel 5 Base & Current Count
  497. DMA2C6ADDR    EQU    0C8h        ;; DMA channel 6 Base & Current Address
  498. DMA2C6COUNT    EQU    0CAh        ;; DMA channel 6 Base & Current Count
  499. DMA2C7ADDR    EQU    0CCh        ;; DMA channel 7 Base & Current Address
  500. DMA2C7COUNT    EQU    0CEh        ;; DMA channel 7 Base & Current Count
  501.  
  502. DMARDSTAT    EQU    008h        ;; DMA read status
  503. DMAWRCNTRL    EQU    008h        ;; DMA write command register
  504. DMAWREQ     EQU    009h        ;; DMA write request register
  505. DMAWRSMR    EQU    00Ah        ;; DMA write single mask register
  506. DMAWRMODE    EQU    00Bh        ;; DMA write mode register
  507. DMACLEAR    EQU    00Ch        ;; DMA clear low/high flip-flop
  508. DMARDTEMP    EQU    00Dh        ;; DMA read temp register
  509. DMAWRCLR    EQU    00Dh        ;; DMA write master clear
  510. DMACLRMSK    EQU    00Eh        ;; DMA clear mask register
  511. DMAWRALL    EQU    00Fh        ;; DMA write all mask register bits
  512.  
  513. DMA2RDSTAT    EQU    0D0h        ;; DMA read status
  514. DMA2WRCNTRL    EQU    0D0h        ;; DMA write command register
  515. DMA2WREQ    EQU    0D2h        ;; DMA write request register
  516. DMA2WRSMR    EQU    0D4h        ;; DMA write single mask register
  517. DMA2WRMODE    EQU    0D6h        ;; DMA write mode register
  518. DMA2CLEAR    EQU    0D8h        ;; DMA clear low/high flip-flop
  519. DMA2RDTEMP    EQU    0DAh        ;; DMA read temp register
  520. DMA2WRCLR    EQU    0DAh        ;; DMA write master clear
  521. DMA2CLRMSK    EQU    0DCh        ;; DMA clear mask register
  522. DMA2WRALL    EQU    0DEh        ;; DMA write all mask register bits
  523.  
  524. CH0PAGEREG    EQU    087h        ;; Channel 0 Page Register
  525. CH1PAGEREG    EQU    083h        ;; Channel 1 Page Register
  526. CH2PAGEREG    EQU    081h        ;; Channel 2 Page Register
  527. CH3PAGEREG    EQU    082h        ;; Channel 3 Page Register
  528.  
  529. CH5PAGEREG    EQU    08Bh        ;; Channel 5 Page Register
  530. CH6PAGEREG    EQU    089h        ;; Channel 6 Page Register
  531. CH7PAGEREG    EQU    08Ah        ;; Channel 7 Page Register
  532.  
  533. ;
  534. ;   /*\
  535. ;---|*| end of COMMON.INC
  536. ;   \*/
  537. ;
  538.  
  539.